The invention relates to a system and methods for creating object-oriented objects, comprising data and method(s), without any source code being compiled; invoking the method(s) of the objects without compilation and generation of object code; and using such classes and objects to create a software application.
Object oriented technology pertains to a system or language that supports the use of objects. As used with respect to computer systems, the term xe2x80x9cobjectxe2x80x9d represents an encapsulated set of data and the method or a group of methods that are performed by a computer system upon that data. (Such methods are also called operations, method programs, routines, and/or member functions.)
Creating an object means creating an xe2x80x9cinstancexe2x80x9d of a class, i.e., an object is an instance of a class. An instance is a named entity that has its own identity and value. An object""s identity is the property that uniquely identifies that object, such as a unique object ID number.
A class is a description of a set of entities that share the same attributes, methods, and relationships. To create a class, a class definition has to be created. Each class definition comprises a data definition and a method definition. Data definitions define the information controlled by the object, and method definitions define the method or methods of such objects.
Objects and classes, in addition to having both data and method(s), also have other characteristics or properties such as inheritance. Inheritance is the transfer of the characteristics of a class in object-oriented programming to other classes derived from it. For example, if xe2x80x9ccarxe2x80x9d is a class, the classes xe2x80x9cfour-doorxe2x80x9d and xe2x80x9ctwo-doorxe2x80x9d may be derived from it and each inherits the properties of the xe2x80x9ccarxe2x80x9d class, such as needs gas, has four wheels, and the like. One of ordinary skill in the art understands that other types of characteristics and properties may be added in a class or in an object, such as polymorphism, state, events, and the like.
Currently, objects and classes are created through writing source code(s). A source code is a human-readable program containing statements written in a high-level language that is not directly readable by a computer. A source code cannot be used by a computer unless it has been compiled successfully. An object code is the machine code or instructions generated by a compiler or an assember, that was translated from the source code of a program. The machine code generated is directly executed by the system""s (or computer""s) central processing unit.
Objects and classes are currently created using object oriented programming languages such as C++ and Java. Using these objects and classes, a software application, may be created. A software application is a program designed to assist in the performance of a specific task, such as accounting, online purchasing, inventory management, and the like. Objects and classes may be construed as building blocks to create a software application.
An online purchasing software may contain, for example, a class called xe2x80x9citemxe2x80x9d and an object called xe2x80x9cdoll,xe2x80x9d and may be written in C++. The classes and objects defined in such a source code may not be used until the source code is compiled successfully to create new objects and classes, such as objects in a Dynamic Link Library (DLL). This means that the programmers writing the source code not only must know the programming syntax of the language (e.g., must know what xe2x80x9cclass,xe2x80x9d xe2x80x9c++xe2x80x9d, xe2x80x9creturn,xe2x80x9d or xe2x80x9cpublicxe2x80x9d in C++ means), but also need to know how to use such languages to define objects and classes. Object oriented programing requires a substantial amount of learning and expertise.
Generally, programmers also use these objects and classes to map information to a database, e.g., a relational database. This means that although objects encapsulate both data and method or group of methods, the data ultimately reside in physical form, e.g., in a computer hard drive which are stored and accessed by a relational database management system (RDBMS). Microsoft(copyright) SQL Server and Oracle""s RDBMS products are examples of RDBMS. Using objects and classes, data stored in a computer-readable medium may then be created, modified, and manipulated by the method or group of methods defined in the object or class (assuming the source code is compiled successfully).
Thus, a way to create classes and objects without the high learning curve required to learn the complexities of high level languages and the complexities of defining objects and classes using such languages is required. Furthermore, a way to create and use classes and objects immediately after their definition is needed. This leads to faster deployment of the classes and objects thereby minimizing development time of a software application and facilitating earlier debugging of classes and objects created, particularly, when there is a need to make rapid changes to such objects and classes.
In a first aspect, this invention provides a method of creating objects immediately after the creation of a class, without the need for compiling source code(s) containing objects and classes. The first step in this invention is to define a class such that the class contains a data definition and a method definition and where such data definition and method definition are delimited to distinguish one piece of information from another. Once the class is defined, the class is created by saving it in a computer-readable medium, such as in a database to enable later retrieval and modification. This enables a user to modify or redefine the class.
Once a class is defined, object or objects may then be created based on such created class. The object or objects are also saved in a computer-readable medium to enable the objects to be later modified or redefined.
These objects and classes may then be used as building blocks or components to create a software application. The methods of such classes or objects may then be executed, all without the need of source code compilation.
In a second aspect of the invention, classes are not created, however, the class definitions are incorporated as part of the object. The object contains both a data definition and a method definition. Similar to the above aspect of the invention, such objects may be redefined and modified, and may be used as building blocks or components to create a software application without the need for compiling a source code.
In another aspect, this invention provides a system which comprises a class definer, a class database, an object definer, an object database, a message receiver, and a web server software. The class definer enables a user to define classes, while the class database contains the classes for later retrieval and modification. The object definer enables a user to define objects, while the object database contains the objects defined for later retrieval and modification. The message receiver receives messages and sends instructions accordingly. The web server software receives and executes such instructions, particularly, the methods of the objects.
In another aspect, this invention provides a system similar to the one described above, however, without the class definer and the object definer. The message receiver receives messages and sends instructions accordingly, including instructions to create classes and/or objects in a database system.
In summary, it may be said that the systems and methods of the invention eliminate the requirement for conventional source code and compiled object code in object oriented programming by providing for direct use of classes and objects immediately after definition and creation. The class and object definitions so stored may be interrelated to comprise a program system or software application to produce a programmed real-world useful function. This is greatly needed particularly in the development of Internet-related applications.
These database records collectively comprise the equivalent of the instructional code of conventional programs, and may be run, for example, by a web server software to accomplish the functional real-world objectives.
The systems and methods of the invention have broad applicability to object oriented programming functions generally. The invention is of a particular value in object-oriented programming functions where multiple users in remote locations contribute to a collective object oriented functional system, since conventional database software, (e.g., RDBMS) can store classes and objects created and be used by a multitude of remote contributors/users.
The rapid growth in the industrial and commercial application of Internet connectivity makes the advantages of the invention especially pertinent. For example, the invention may be employed in a e-commerce web-based computer system for online purchasing, online contact management system, and the like.
Still other advantages will be evident from a review of the Summary, Drawings, Detailed Description, and Claims.